LAS CACHES PARTIDAS (Arquitectura Harvard)
Se llama cache unificada la que tiene una sola memoria que almacena datos e instrucciones. Se llama cache partida la que tiene una cache de datos y una cache de instrucciones.
Ventajas de la cache unificada
Para un tamaño dado de memoria cache tiene mayor tasa de aciertos que la partida, porque nivela automáticamente la carga de captura entre instrucciones y datos. Es decir si una ejecución implica más instrucciones que datos se cargará de instrucciones, en caso contrario se llenará de datos.
Sólo se necesita diseñar e implementar una cache
Ventaja de la cache partida
Elimina la competición por la cache entre el procesador de instrucciones y la unidad de ejecución. Esto es importante en los sistemas segmentados. Normalmente el procesador captará instrucciones anticipadamente y llenará un buffer con las instrucciones que van a ejecutarse. Si el sistema tiene una cache unificada cuando la unidad de ejecución realiza un acceso a memoria para cargar y almacenar datos realiza una petición a la cache. Si al mismo tiempo la unidad de prebúsqueda de instrucciones emite una petición de lectura de una instrucción a la cache, dicha petición será temporalmente bloqueada para que la cache pueda servir primero a la unidad de ejecución. Esta disputa puede llegar a degradar las prestaciones.
Puesto que el procesador sabe si está trabajando con datos o con instrucciones, puede tener puertos separados para cada uno de ellos, y por lo tanto se dobla el ancho de banda entre la jerarquía de memoria y la CPU
Tiene mejores tiempos de acceso efectivo
Existe la posibilidad de optimización de los parámetros de diseño de cada cache por separado.
Desventaja:
Mayor tasa de fallos. Fija el tamaño de la parte dedicada a datos e instrucciones
La tendencia actual son las caches partidas.